1. Field of the Invention
The present invention relates to techniques for testing computer systems. More specifically, the present invention relates to a method and an apparatus for communicating with a field-replaceable unit (FRU) within a computer system in order to test the FRU.
2. Related Art
Modern computing systems are comprised of many devices and subsystems, including circuit boards, power supplies, and disk drives. These devices and subsystems are typically coupled together by buses for testing, configuration, and fault reporting. For example, a computer system often includes a joint test action group (JTAG) bus, which can be used to identify a device, to program the device, to insert test vectors into the device, and to read test results from the device.
Using a bus structure to communicate with each device within the computer system requires wires to carry the bus signals and connectors to couple the signals onto and off of the circuit board. These wires and connectors adversely impact the cost and reliability of the system.
Wired test structures exhibit many unwanted dependencies: they typically use hierarchical and daisy-chained wiring, and they share interconnects and backplanes with the system under test. As a result, faults can easily lead to incomplete or erroneous test reports on properly working components.
The JTAG bus is a serial bus, which is daisy-chained through the components on a circuit board and forms a very large shift register. As a test vector or a configuration vector is shifted into a component, data in the component, such as a test result or a component identifier, is shifted out of the component. Multiplexer-demultiplexers are typically used to access multiple components.
FRU IDs are used to configure, identify, and diagnose problems with associated FRUs. Unfortunately, the FRU IDs may not be accessible when components fail because of dependencies created by the wired interconnect used to access FRU IDs. FIGS. 1A and B show examples of possible failure scenarios of wired interconnects that illustrate such dependencies. In FIG. 1A, a faulty component breaks the daisy chain and, as a result, all components later in the daisy chain become inaccessible although they might be fully functional. In FIG. 1B, a hierarchy of bridges is used to increase fan-in and fan-out so that a large number of components can be interconnected. Note that any failure of a bridge causes the corresponding sub-tree to become inaccessible even though the nodes and leaves of the sub-tree might be fully functional.
FIG. 1A illustrates circuit boards being addressed by a serial bus. The system shown in FIG. 1A includes circuit boards 107, 117, 127, and 137. Note that these circuit boards are referred to as field replaceable units or FRUs. A FRU is an entity that a technician in the field replaces if defective components need to be replaced or if units need to be upgraded. Note also that the FRUs are not limited to circuit boards, but can include any type of active component within a system. In FIG. 1A, circuit board 107 includes devices 101-106, circuit board 117 includes devices 111-116, circuit board 127 includes devices 121-126, and circuit board 137 includes devices 131-136. Multiplexer-demultiplexers 108, 118, and 128 are used to combine the signals associated with circuit boards 107, 117, 127, and 137. Specifically, multiplexer-demultiplexer 108 combines the signals associated with circuit boards 107 and 117, multiplexer-demultiplexer 128 combines the signals associated with circuit boards 127 and 137, and multiplexer-demultiplexer 118 combines the signals associated with multiplexer-demultiplexers 108 and 128.
In addition to the problem of providing the wiring and connections for this serial interface, a failure in the serial portion of one of the devices, for example device 103, precludes signals from circuit board 107 from being shifted into devices 104-106 or shifted out of devices 101 and 102.
FIG. 1B illustrates circuit boards being addressed by a serial bus. The system shown in FIG. 1B includes circuit boards 147, 157, 167, and 177. Circuit board 147 includes devices 141-146, circuit board 157 includes devices 151-156, circuit board 167 includes devices 161-166, and circuit board 177 includes devices 171-176. Multiplexer-demultiplexers 148, 158, and 168 are used to access signals associated with circuit boards, 147, 157, 167, and 177. Specifically, multiplexer-demultiplexer 148 accesses the signals associated with circuit boards 147 and 157, multiplexer-demultiplexer 168 accesses the signals associated with circuit boards 167 and 177, and multiplexer-demultiplexer 158 accesses the signals associated with multiplexer-demultiplexers 148 and 168.
Note that a failure of multiplexer-demultiplexer 158 prevents signals from being shifted onto or out of circuit boards 147, 157, 167, and 177. This failure, therefore, prevents reading the status or the identity of the affected circuit boards, and also prevents entering test vectors and reading the results from the affected circuit boards.
Hence, what is needed is an apparatus and a method for identifying and testing field replaceable units without the problems described above.